6单选第5题中的caller函数对应的机器级代码如下:1pushl%ebp2movl%esp,%eb
6单选第5题中的caller函数对应的机器级代码如下:1pushl%ebp2movl%esp,%ebp3subl$24,%esp4movl$100,-12(%ebp)5movl$200,-8(%ebp)6movl-8(%ebp),%eax7movl%eax,4(%esp)8movl-12(%ebp),%eax9movl%eax,(%esp)10calladd11movl%eax,-4(%ebp)12movl-4(%ebp),%eax13leave14ret假定caller的调用过程为P,对于上述指令序列,以下叙述中错误的是()。

A.第1条指令将过程P的EBP内容压入caller栈帧

B.第3条指令将栈指针ESP向高地址方向移动,以生成当前栈帧

C.从上述指令序列可看出,caller函数没有使用被调用者保存寄存器

D.第2条指令使BEP内容指向caller栈帧的底部

7单选对于第5题的caller函数以及第6题给出的对应机器级代码,以下叙述中错误的是()。

A.变量t1和t2的有效地址分别为R[ebp]-12和R[ebp]-8

B.参数t1和t2的有效地址分别为R[esp]和R[esp]+4

C.参数t1所在的地址低(或小)于参数t2所在的地址

D.变量t1所在的地址高(或大)于变量t2所在的地址

8单选以下有关递归过程调用的叙述中,错误的是()。

A.递归过程第一个参数的有效地址为R[ebp]+8

B.每次递归调用都会生成一个新的栈帧,因而空间开销大

C.可能需要执行递归过程很多次,因而时间开销大

D.每次递归调用在栈帧中保存的返回地址都不相同

9单选以下关于if(cond_expr)then_statementelseelse_statement选择结构对应的机器级代码表示的叙述中,错误的是()。

A.对应then_statement的代码一定在对应else_statement的代码之前

B.计算cond_expr的代码段一定在条件转移指令之前

C.一定包含一条条件转移指令(分支指令)

D.一定包含一条无条件转移指令

10单选以下关于循环结构语句的机器级代码表示的叙述中,错误的是()。

A.循环结束条件通常用一条比较指令CMP来实现

B.一定至少包含一条条件转移指令

C.循环体内执行的指令不包含条件转移指令

D.不一定包含无条件转移指令

计算机系统基础(一):程序的表示、转换与链接

南京大学

军职在线答案

大学网课

«
»

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注